/***    Copyright 2011-2013 Apotekens Service AB <epsos@apotekensservice.se>
*
*    This file is part of epSOS-WEB.
*
*    epSOS-WEB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
*    epSOS-WEB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License along with epSOS-WEB. If not, see http://www.gnu.org/licenses/.
**/
package se.sb.epsos.web.pages;

import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.form.Form;

import se.sb.epsos.web.BasePage;
import se.sb.epsos.web.EpsosAuthenticatedWebSession;
import se.sb.epsos.web.model.BreadCrumbVO;
import se.sb.epsos.web.model.LoadableDocumentModel;
import se.sb.epsos.web.model.PdfDocument;

public class PdfPage extends BasePage {

    private static final long serialVersionUID = 8543243143924896161L;

    public PdfPage(LoadableDocumentModel<PdfDocument> document, final PageParameters parameters) {
        ((EpsosAuthenticatedWebSession) getSession()).addToBreadCrumbList(new BreadCrumbVO<PdfPage>(getString("originalPdf.title")));

        PdfPanel pdfPanel = new PdfPanel("pdfDocument", document.getObject());
        add(pdfPanel);
        Form<Object> form = new Form<Object>("form");
        form.add(new AjaxButton("back") {
            private static final long serialVersionUID = -3292332439866215153L;
            @Override
            protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                if ("EP".equals(parameters.getString("docType"))) {
                    stepBackToPage(DispensePrescriptionPage.class);
                } else if ("PS".equals(parameters.getString("docType"))) {
                    stepBackToPage(QueryDocumentsPage.class);
                }
                target.addComponent(getFeedback());
            }

            @Override
            protected void onError(AjaxRequestTarget target, Form<?> form) {
                target.addComponent(getFeedback());
            }
        });
        add(form);
    }
}
